package com.star.star.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.star.star.dto.StarAlbumPageWxuserDTO;
import com.star.star.dto.StarAlbumUpdateWxuserDTO;
import com.star.star.dto.StarAlbumSaveWxuserDTO;
import com.star.star.entity.StarAlbum;
import com.baomidou.mybatisplus.extension.service.IService;
import com.star.star.vo.StarAlbumDetailWxuserVO;
import com.star.star.vo.StarAlbumPageWxuserVO;

/**
 * 艺人专辑 服务类
 *
 * @author yangzj
 */
public interface StarAlbumService extends IService<StarAlbum> {

    //-------------------- 以下微信小程序（用户端）接口 --------------------

    /**
     * 保存-微信小程序（用户端）
     *
     * @param dto    入参
     * @param userId 用户ID
     */
    void saveWxuser(StarAlbumSaveWxuserDTO dto, Long userId);

    /**
     * 更新-微信小程序（用户端）
     *
     * @param dto 入参
     */
    void updateWxuser(StarAlbumUpdateWxuserDTO dto, Long userId);

    /**
     * 删除通过ID-微信小程序（用户端）
     *
     * @param id     ID
     * @param userId 用户ID
     */
    void deleteByIdWxuser(Long id, Long userId);

    /**
     * 分页-微信小程序（用户端）
     *
     * @param dto 入参
     * @return {@link IPage}<{@link StarAlbumPageWxuserVO}>
     */
    IPage<StarAlbumPageWxuserVO> pageWxuser(StarAlbumPageWxuserDTO dto);

    /**
     * 获取详情-微信小程序（用户端）
     *
     * @param id     ID
     * @param userId 用户ID
     * @return {@link StarAlbumDetailWxuserVO}
     */
    StarAlbumDetailWxuserVO getDetailWxuser(Long id, Long userId);

}
